#ifndef PROCESS_H
#define PROCESS_H

#include <iostream>

using namespace std;

class Process{
	protected:
		
	
	void display(ostream& os) const;

	public:
	int userProcess;
		int PID;
		int arrival;
		int burst;
		double priority;
		int startTime;
		int runTime;
		int endTime;
		int remainingTime;
		int waitTime;
		int queueNumber;
		int runTimeinQueue;
		int age;
		Process();
		Process(int pID, int thearrival, int burstnum, double prior, int userProc, int running, int waiting );
		~Process();
		void operator=(const Process& aProcess);
		bool operator==(const Process & aProcess);
		bool operator<(const Process & aProcess) const;
		void setHRNPriority();
		int getPID();
		int getArrival();
		int getBurst();
		double getPriority();
		void setEndTime(int time);
		void setUserProcess(int num);
		void setQueueNumber(int num);
		bool isLessThan(const Process &aProcess) const;
	
		friend ostream& operator <<(ostream& os, const Process& aProcess){aProcess.display(os);return os;};

};
#endif


